---@meta _

---载入类库
---@generic T
---@param major `T` 主版本号
---@return table|T library 类库实例
function AceLibrary(major) end

---@class AceLibrary ACE库
---事件：
--- - AceLibrary_Register(string major, table instance)
---
---[文档](https://web.archive.org/web/20071011173203/http://wowace.com/wiki/AceLibrary)
AceLibrary = {}

---是否是新版本
---@param major string 主版本号
---@param minor? string|number|nil 次版本号
---@return boolean is 是否是
function AceLibrary:IsNewVersion(major, minor) end

---是否有实例
---@param major string 主版本号
---@param minor? string|number|nil 次版本号
---@return boolean has 是否有
function AceLibrary:HasInstance(major, minor) end

---获取实例
---@generic T
---@param major `T` 主版本号
---@param minor? string|number|nil 次版本号
---@return table|T instance
function AceLibrary:GetInstance(major, minor) end

---注册一个新的库版本
---@param newInstance table 新实例
---@param major string 主版本号
---@param minor string|number 次版本号
---@param activateFunc? function|nil 激活回调；参数`(newInstance [, oldInstance, oldDeactivateFunc])`
---@param deactivateFunc? function|nil 取消激活回调；参数`(oldInstance)`
---@param externalFunc? function|nil 库加载回调；参数`(instance, otherInstanceName, otherInstance)`
---@return table instance 实例
function AceLibrary:Register(newInstance, major, minor, activateFunc, deactivateFunc, externalFunc) end

---获取库版本
---@return string major 主版本号
---@return number minor 次版本号
function AceLibrary:GetLibraryVersion() end

---错误
---@param message string 信息
---@param ... any 其他参数
function AceLibrary:error(message, ...) end

---断言
---@param condition any 条件
---@param message string 信息
---@param ... any 其他参数
function AceLibrary:assert(condition, message, ...) end

---参数检验
---@param value any 值
---@param position number 位置
---@param type string 类型
---@param ... any 其他参数
function AceLibrary:argCheck(value, position, type, ...) end

---调用
---@param func function 函数
---@param ... any 参数
---@return any ... 返回值
function AceLibrary:pcall(func, ...) end
